1. Field of the Invention
The present invention relates to a data interpolating method for interpolating a value between discrete data such as sounds or images. In this specification, it is assumed that a case where function values have finite values except zero in a local region and become zero in regions different from the region is called a xe2x80x9clocal support.xe2x80x9d
2. Description of the Prior Art
Conventionally, a method of performing data interpolation by using a sampling function is known as a data interpolation for obtaining a value between sample values that are given beforehand.
FIG. 8 is an explanatory diagram of a sampling function called a sinc function conventionally known. This sinc function is obtained when a Dirac delta function is inverse-Fourier-trans formed, and becomes one only at a sample point, where t=0, and zero at all other sample points.
FIG. 9 is an explanatory diagram of data interpolation by using the sampling function shown in FIG. 8. As shown in FIG. 9, intermediate values between each sample point are interpolated by using all the sample values.
By the way, in case where a conventional data interpolation system by using the sinc function as a sampling function, it is theoretically possible to obtain an accurate interpolation value by adding values of respective sampling functions, corresponding to sample points from xe2x88x92∞ to +∞, with convolution. Nevertheless, when the above-described interpolation operation is actually attempted with one of various types of processors, a truncation error arises due to the truncation of processing within a finite interval. Therefore, this system has a problem that sufficient accuracy cannot be obtained if the interpolation operation is performed with a small number of sample values. For example, so as to obtain 96 dB of dynamic range or S/N ratio in a sound signal, 1024 sample points should be considered, and hence, in case of using sample points less than the quantity, it is not possible to obtain sufficient sound quality. Furthermore, it is similar in consideration of image data, it is not possible to obtain sufficient image quality in case of performing interpolation processing with a small number of sample points, and the operation quantity becomes huge in case of increasing sample points, which become objects of calculation, on the contrary. Therefore, this is not practical.
The present invention is created in consideration of these points, and an object of the present invention is to provide a data interpolating method that can reduce operation quantity and has a small error.
data interpolating method of the present invention involves a process of interpolating between discrete data in such a way as to generate a step function corresponding to plural of discrete data to make a convolution operation, and integrate a convoluted result by multiple times. More specifically, the interpolation process is made by multiplying the value of a step function generated by step function generating unit and the value of discrete data input and held cyclically in data holding unit by multiplication unit, adding the multiplied results for plural discrete data, and repeating the integral operation by multiple times. In this way, a convolution operation is performed using a step function, and the result of convolution operation can be obtained through a simple operation with sum of products, whereby the amount of operation required to get an interpolated value can be reduced.
In particular, the above-described step function is preferably obtained by differentiating a sampling function consisting of a piecewise polynomial multiple times. On the contrary, the sampling function can be obtained by integrating this step function multiple times. Therefore, the convolution operation can be equivalently performed using the step function, so that the operation contents can be simplified, and the amount of calculation can be reduced.
The above-described sampling function is preferably differentiable only once over the whole range, and has values of a local support. It is considered that it is necessary that various signals existing in the natural world have differentiability because the signals change smoothly. Nevertheless, it is considered that it is not necessary that the differentiability is not always infinite, and that it is possible to sufficiently approximate natural phenomena so long as the signals can be differentiated only once. In this manner, although there are many advantages by using a sampling function of the local support that can be differentiated finite times, conventionally, it was considered that a sampling function fulfilling these conditions did not exist. Nevertheless, by the present inventor""s research, a function fulfilling the conditions described above is found.
More specifically, the above-described sampling function is a function of local support having the values other than zero in a range where the sample point t is from xe2x88x922 to +2. This sampling function is defined such that:
(xe2x88x92t2xe2x88x924txe2x88x924)/4 for xe2x88x922xe2x89xa6t less than xe2x88x923/2,
(3t2+8t+5)/4 for xe2x88x923/2xe2x89xa6t less than xe2x88x921,
(5t2+12t+7)/4 for xe2x88x921xe2x89xa6t less than xe2x88x921/2,
(xe2x88x927t2+4)/4 for xe2x88x921/2xe2x89xa6t less than 1/2,
(5t2xe2x88x9212t+7)/4 for 1/2xe2x89xa6t less than 1,
(3t2xe2x88x928t+5)/4 for 1xe2x89xa6t less than 3/2, and
(xe2x88x92t2 +4txe2x88x924)/4 for 3/2xe2x89xa6txe2x89xa62
Or a step function corresponding to such a sampling function may consist of eight piecewise sections in equal width with a weight of xe2x88x921, +3, +5, xe2x88x927, xe2x88x927, +5, +3, and xe2x88x921 in a predetermined range corresponding to five discrete values of data arranged at an equal interval.
In this way, since the interpolation process is performed using a sampling function differentiable only once over the whole range, the number of integrating the result of convolution operation using a step function can be decreased, and the amount of calculation can be reduced. Also, because of the use of a sampling function having values of a local support, it is possible to handle only discrete data corresponding to a section for the local support, so that the amount of calculation can be further reduced. Moreover, it is possible to prevent the truncation error from arising when the interpolation process is performed for the finite number of discrete data.